package br.ufrgs.ga.operators;


/**
 * A crossover operator must implement this interface.
 * @author mineiro
 *
 * @param <T>
 */
public interface ICrossover<T> {
	
	/**
	 * Represents a genetic crossover operation.
	 * @param dnaStrand1
	 * @param dnaStrand2
	 * @return the new DNA strand resulted from a combination of <code>dnaStrand1</code> and <code>dnaStrand2</code>
	 */
	public T execute(T dnaStrand1, T dnaStrand2);
}
